package com.ruoyi.patrol.service;

import java.util.List;

import com.ruoyi.patrol.domain.PtNotificationUser;
import com.ruoyi.patrol.domain.vo.PtNotificationUserVo;

/**
 * 通知用户Service接口
 *
 * @author 理想三旬
 * @date 2022-11-08
 */
public interface IPtNotificationUserService {
    /**
     * 查询通知用户
     *
     * @param id 通知用户ID
     * @return 通知用户
     */
    public PtNotificationUser selectPtNotificationUserById(Long id);

    /**
     * 查询非读条数
     *
     * @param notificationId 通知用户ID
     * @return 条数
     */
    public int selectCancelCondition(String notificationId);

    /**
     * 查询通知用户列表
     *
     * @param ptNotificationUser 通知用户
     * @return 通知用户集合
     */
    public List<PtNotificationUser> selectPtNotificationUserList(PtNotificationUser ptNotificationUser);

    /**
     * 查询通知用户列表
     *
     * @param ptNotificationUserVo 通知id
     * @return {@link List}<{@link PtNotificationUserVo}>
     */
    public List<PtNotificationUserVo> selectPtNotificationUserByNotifyId(PtNotificationUserVo ptNotificationUserVo);

    /**
     * 学校管理员查看通知
     *
     * @param ptNotificationUserVo 用户id
     * @return {@link List}<{@link PtNotificationUserVo}>
     */
    public List<PtNotificationUserVo> selectPtNotificationUserByUserId(PtNotificationUserVo ptNotificationUserVo);


    /**
     * 查询通知中的学校id
     *
     * @param notificationId 通知id
     * @return {@link List}<{@link Long}>
     */
    public List<Long> selectPtNotificationUserSchoolId(String notificationId);

    /**
     * 新增通知用户
     *
     * @param ptNotificationUser 通知用户
     * @return 结果
     */
    public int insertPtNotificationUser(PtNotificationUser ptNotificationUser);

    /**
     * 修改通知用户
     *
     * @param ptNotificationUser 通知用户
     * @return 结果
     */
    public int updatePtNotificationUser(PtNotificationUser ptNotificationUser);

    /**
     * 批量删除通知用户
     *
     * @param ids 需要删除的通知用户ID
     * @return 结果
     */
    public int deletePtNotificationUserByIds(Long[] ids);

    /**
     * 删除通知用户信息
     *
     * @param id 通知用户ID
     * @return 结果
     */
    public int deletePtNotificationUserById(String id);
}
